package com.ruoyi.xsp.mapper;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.ruoyi.xsp.domain.XspUser;
import org.apache.ibatis.annotations.Param;
import org.apache.shiro.crypto.hash.Hash;

/**
 * 用户管理Mapper接口
 * 
 * @author zhiminhu
 * @date 2021-01-22
 */
public interface XspUserMapper 
{
    /**
     * 查询用户管理
     * 
     * @param userId 用户管理ID
     * @return 用户管理
     */
    public XspUser selectXspUserById(Long userId);

    /**
     * 根据UserCode 获取用户信息
     * map  必须包含userCode字段
     * 可选为loginUserCode
     * @param map
     * @return
     */
    public XspUser selectXspUserByUserCode(Long userCode);

    /**
     * 获取用户相关的几个统计数据
     * 作品数量，喜欢作品数量，关注用户数等等
     * @param userCode
     * @return
     */
    public XspUser selectXspUserSumByUserCode(Long userCode);

    public XspUser loginByphoneNumber(HashMap<String,String> map);
    /**
     * 查询用户管理列表
     * 
     * @param xspUser 用户管理
     * @return 用户管理集合
     */
    public List<XspUser> selectXspUserList(XspUser xspUser);


    public List<XspUser> selectXspUserMyFriendList(XspUser xspUser);
    public List<XspUser> selectXspUserMyConcernedList(XspUser xspUser);
    public List<XspUser> selectXspUsermyFansList(XspUser xspUser);


    /**
     * 新增用户管理
     * 
     * @param xspUser 用户管理
     * @return 结果
     */
    public int insertXspUser(XspUser xspUser);

    /**
     * 修改用户管理
     * 
     * @param xspUser 用户管理
     * @return 结果
     */
    public int updateXspUser(XspUser xspUser);

    /**
     * 删除用户管理
     * 
     * @param userId 用户管理ID
     * @return 结果
     */
    public int deleteXspUserById(Long userId);

    /**
     * 批量删除用户管理
     * 
     * @param userIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteXspUserByIds(String[] userIds);
}
